package com.iwomy.secureplat.platform.api.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 个人设置
 *
 * @author pig
 * @date 2023-11-08 10:41:35
 */
@Data
@TableName("basic_personal_settings")
@EqualsAndHashCode(callSuper = true)
@Schema(description = "个人设置")
public class BasicPersonalSettingsEntity extends Model<BasicPersonalSettingsEntity> {


	/**
	* 编号
	*/
    @TableId(type = IdType.ASSIGN_ID)
    @Schema(description="编号")
    private Long id;

	/**
	 * 用户Id
	 */
	@Schema(description="用户Id")
    private Long userId;

	/**
	* 报警弹窗设备范围：10仅限本级设备，20包含所有下级设备，30所有报警不弹窗
	*/
    @Schema(description="报警弹窗设备范围：10仅限本级设备，20包含所有下级设备，30所有报警不弹窗")
    private Integer alarmPopRange;

	/**
	* 模式选择:10全景（中国地图），20浏览器所在位置为中信，30自定义地图范围
	*/
    @Schema(description="模式选择:10全景（中国地图），20浏览器所在位置为中信，30自定义地图范围")
    private Integer mapModeSelection;

	/**
	* 地图中心点经度
	*/
    @Schema(description="地图中心点经度")
    private BigDecimal centerPointLongitude;

	/**
	* 地图中心点纬度
	*/
    @Schema(description="地图中心点纬度")
    private BigDecimal centerPointLatitude;

	/**
	* 地图级别
	*/
    @Schema(description="地图级别")
    private Integer mapLevel;

	/**
	* 放大至单个设备时名称显示格式:10建筑物名称，20楼层名称，30安装点名称
	*/
    @Schema(description="放大至单个设备时名称显示格式:10建筑物名称，20楼层名称，30安装点名称")
    private String userClustersPlaceFormat;

	/**
	* 放大至单个建筑物时名称显示格式
	*/
    @Schema(description="放大至单个建筑物时名称显示格式")
    private String userClustersPlaceBuilding;

	/**
	* 登录验证码  10否，20是
	*/
    @Schema(description="登录验证码  10否，20是")
    private Integer loginVerificationCode;

	/**
	* 登录有效期
	*/
    @Schema(description="登录有效期")
    private Long loginValidityPeriod;

	/**
	* 微信绑定状态:10未绑定，20已绑定
	*/
    @Schema(description="微信绑定状态:10未绑定，20已绑定")
    private Integer wechatBindingStatus;

	/**
	* 微信openid
	*/
    @Schema(description="微信openid")
    private String wechatOpenid;

	/**
	* 备注信息
	*/
    @Schema(description="备注信息")
    private String remarks;

	/**
	* 系统标志
	*/
    @Schema(description="系统标志")
    private String systemFlag;

	/**
	* 创建人
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建人")
    private String createBy;

	/**
	* 创建时间
	*/
	@TableField(fill = FieldFill.INSERT)
    @Schema(description="创建时间")
    private LocalDateTime createTime;

	/**
	* 修改人
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="修改人")
    private String updateBy;

	/**
	* 更新时间
	*/
	@TableField(fill = FieldFill.INSERT_UPDATE)
    @Schema(description="更新时间")
    private LocalDateTime updateTime;

	/**
	* 删除标志
	*/
    @TableLogic
		@TableField(fill = FieldFill.INSERT)
    @Schema(description="删除标志")
    private String delFlag;

	/**
	* 所属租户
	*/
    @Schema(description="所属租户")
    private Long tenantId;
}